package com.spring.boot.entity.server;

import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;


/**
 * @author 刘骄阳
 * 2021-07-15 19:06
 */
@Component
public class ServerEntity {

    static {
    }

    /**
     * Windows系统下的文件上传路径
     */
    private static String windowsFileUrl;

    /**
     * Linux系统下的文件上传路径
     */
    private static String linuxFileUrl;

    /**
     * 服务器操作系统
     */
    private static final String osName = System.getProperty("os.name");

    /**
     * 项目端口
     */
    private static String port;

    /**
     * Java版本
     */
    private static final String javaVersion = System.getProperty("java.version");

    /**
     * 获取Windows文件上传路径
     *
     * @return 路径
     */
    public static String getWindowsFileUrl() {
        return windowsFileUrl;
    }

    /**
     * 获取Linux文件上传路径
     *
     * @return 路径
     */
    public static String getLinuxFileUrl() {
        return linuxFileUrl;
    }

    /**
     * 获取服务器操作系统
     *
     * @return 当前服务器操作系统
     */
    public static String getOsName() {
        return osName;
    }


    /**
     * 获取项目端口
     *
     * @return 项目端口
     */
    public static String getPort() {
        return port;
    }

    /**
     * 获取Java版本
     *
     * @return Java版本
     */
    public static String getJavaVersion() {
        return javaVersion;
    }

    /**
     * Gson
     */
    public static final Gson gson = new Gson();


    /**
     * 为windowsFileUrl赋值
     *
     * @param windowsFileUrl Windows文件上传路径
     */
    @Value("${custom.windowsFileUrl}")
    private void setWindowsFileUrl(String windowsFileUrl) {
        ServerEntity.windowsFileUrl = windowsFileUrl;
    }

    /**
     * 为linuxFileUrl赋值
     *
     * @param linuxFileUrl Linux文件上传路径
     */
    @Value("${custom.linuxFileUrl}")
    private void setLinuxFileUrl(String linuxFileUrl) {
        ServerEntity.linuxFileUrl = linuxFileUrl;
    }

    @Value("${server.port}")
    private void setPort(String port) {
        ServerEntity.port = port;
    }

}
